hhkb
모의해킹

호스트기반모의해킹_15_SMB 취약점 진단

작성자 : Heehyeon Yoo|2025-11-26
# 모의해킹# SMB# Null Session# Share Enumeration# Samba

1. 개요

SMB(Server Message Block)는 파일, 프린터 공유 및 원격 제어를 위해 사용되는 프로토콜이다.

  • 포트: TCP 445 (Direct SMB), TCP 139 (NetBIOS over TCP/IP).
  • 운영체제: Windows 환경의 핵심 프로토콜이며, 리눅스에서는 Samba를 통해 구현된다.

2. 주요 진단 항목

2.1 널 세션(Null Session) 인증

  • 개념: 사용자 이름과 비밀번호 없이("") 비권한 사용자가 서버의 공유 자원이나 사용자 목록에 접근 가능한 설정.
  • 진단 도구:
    1. NetExec (구 CrackMapExec):
      nxc smb [Target_IP] -u "" -p "" --shares
      
      • + (성공) 및 READ, WRITE 권한을 직관적으로 확인 가능하다.
    2. Enum4linux:
      enum4linux -a [Target_IP]
      
      • 사용자 목록(RID Cycling) 및 그룹 정보를 수집할 때 강력하다.

2.2 공유 폴더(Share) 접근 및 권한 확인

  • 접근 방법: smbclient를 사용하여 실제 접속 및 파일 다운로드/업로드를 시도한다.
    smbclient //[Target_IP]/[Share_Name] -U ""
    
  • 위협:
    • 민감 파일 노출: 설정 파일, 백업 데이터, SSH 키(id_rsa) 등.
    • 쓰기 권한(Write): 자동 실행 폴더나 웹 루트에 악성 파일을 업로드하여 RCE 연계 가능.

2.3 알려진 취약점(Known Vulnerabilities)

  • MS17-010 (EternalBlue): SMBv1의 치명적인 RCE 취약점. 랜섬웨어 워너크라이(WannaCry)의 주 원인.
  • Samba 취약점: 리눅스 Samba 특정 버전(예: symlink 관련)의 취약점.

3. 실무에서는?

  1. 도구 교차 검증:
    • Enum4linux는 구형 도구라 최신 환경에서 에러가 잦다. NetExec이나 SMBMap을 병행하여 결과를 교차 검증해야 한다.
  2. 버전 정보의 허와 실:
    • 배너 그래빙으로 확인된 Samba 버전이 취약해 보여도, OS 벤더(RedHat, Debian 등)가 백포트(Backport) 패치를 적용했을 수 있다. Exploit 시도 전 확실한 검증이 필요하다.
  3. IPC$ 및 PRINT$:
    • 기본 공유인 IPC$(프로세스 간 통신)와 PRINT$(프린터 드라이버)는 접근이 가능해도 실제 공격 벡터로 활용되기는 어렵다. 일반적인 파일 공유(Data, Backup 등)에 집중한다.